The invention relates to digital imaging. More specifically, the invention relates to interpolation of higher resolution images from lower-resolution images.
Image interpolation is performed routinely by printers and computers. In one instance, a printer might receive source image data having a fixed resolution of 75 dots per inch (dpi), yet the printer is commanded to print at a higher resolution such as 300 dpi. In such an instance, the printer performs interpolation on the source image data.
In another instance, a computer might perform interpolation in order to display an image compressed according to a lossy algorithm such as JPEG. Once the image is displayed, the computer might receive a user command to zoom in on a portion of the image to magnify a particular detail. In response to the user command, the computer would perform interpolation on the pixels in that portion.
Simple linear interpolation lacks the precision necessary to reproduce an image with quality at a higher resolution. Edges in the interpolated image have poor quality. Shading problems and jagged transitions can be viewed when an interpolated image is displayed or printed. The shading problems and jagged transitions become even worse when a region of the interpolated image is magnified.
Low order B-spline methods such as pixel replication and bilinear interpolation are satisfactory in terms of interpolating smooth textures, and they are easy to implement in terms of processing power and memory requirements. However, pixel replication tends to produce sharp edges that are not straight, and bilinear interpolation tend to produce images that include artifacts and relatively blurry lines.
Higher-order B-spline interpolation methods such as cubic B-spline interpolation tend to provide smooth, continuous images. However, smoothness and continuity come at a cost: increased computational power. Higher-order B-spline interpolation methods are computationally intensive. They also give ringing effects. Additionally, B-spline methods in general are linear methods and, therefore, are limited in terms of quality of the interpolation.
Other interpolation methods include edge-directed methods, fractal interpolation and methods that employ stochastic models. For an example of a method that employs a stochastic model, see Schultz et al., xe2x80x9cA Bayesian approach to image expansion for improved definition,xe2x80x9d IEEE Transactions on Image Processing, vol. 3, no. 3, pp. 233-242 (May, 1994). The method disclosed therein is computationally intensive.
There is a need for an image interpolation method that produces high quality images, yet is easy to implement in terms of processing power and memory requirements.
The invention can be regarded as a method of generating an electronic database of interpolation parameters that can be used to produce high quality images. The parameters can be computed from one or more training files. A low-resolution file is computed from each training file. A plurality of representative vectors from each low-resolution file are then computed. Next, a set of interpolation filters are computed for each of the representative vectors. The interpolation filters and the representative vectors can be used to perform interpolation on a file other than the training file.
The method of generating the electronic database can be performed off-line. Thus, by the time the parameters in the database are used for interpolating an image, the bulk of the computational activity has already been performed. Consequently, interpolation time and memory requirements are reduced.
The training file could be an image file. The electronic database could be stored in a device such as computer or a printer.
Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.